统一(简单)专题图 Sample详情
最后更新时间:2020年12月11日
统一专题图采用单一符号信息配置图层中的所有图元,主要用于强调数据的分布特征。
主要通过API程序包com.zondy.mapgis.map下的专题图类接口实现:
具体实现方法如下:
1
map = aMapView.getMap(); vectorLayer = (VectorLayer) map.getLayer(i);
2
根据当前图层类型创建相应几何图形信息(GeomInfo),在此以区图层为例。
//创建区几何图形信息对象 RegInfo regInfo = new RegInfo(); //设置角度 regInfo.setAngle(0); //设置填充颜色(请参考MapGIS颜色库中颜色编号) regInfo.setFillClr((int) (1 + Math.random() * (1500 - 1 + 1))); //设置填充模式 regInfo.setFillMode((short) 0);
3
创建统一专题图绘制信息对象(ThemeInfo),调用专题图信息对象的setGeoInfo方法设置图形信息,同时设置其专题图名称、是否显示、最大最小显示比等参数。
GeomInfo mapinfo = new GeomInfo(); //定义几何图形信息对象 ThemeInfo themeInfo = new ThemeInfo(); //创建简单专题图绘制信息对象 mapinfo.setRegInfo(regInfo); //图形信息对象设置为区图形信息 themeInfo.setGeoInfo(mapinfo ); //为专题图绘制信息对象设置图形信息 themeInfo.setCaption("简单专题图"); //设置名称 themeInfo.setIsVisible(true); //设置是否显示 themeInfo.setMaxScale(0); //设置最大显示比 themeInfo.setMinScale(0); //设置最小显示比
4
创建简单专题图对象(SimpleTheme),调用其setThemeInfo方法设置专题图信息,同时设置专题图的名称、可见性等信息。
SimpleTheme simpleTheme = new SimpleTheme(); //创建简单专题图对象 simpleTheme.setName("专题图"); //设置专题图的名称 simpleTheme.setVisible(true); //设置专题图的可见性 simpleTheme.setThemeInfo(themeInfo); //设置简单专题图的绘制信息
5
获取专题图集合Thems,调用其append方法添加专题图。
String witchLayerName; //定义选择的图层名称变量 VectorLayer witchLayer;//定义矢量图层对象 //根据图层名称获取图层索引 int i = map.indexOf(witchLayerName); //根据图层索引获取地图图层 witchLayer = (VectorLayer) map.getLayer(i); // 将专题图添加到对应矢量图层上 witchLayer.getThemes().append(simpleTheme); //停止当前的获取数据的请求(从服务器请求或从本地请求) aMapView.stopCurRequest(new MapView.MapViewStopCurRequestCallback() { @Override public void onDidStopCurRequest() { aMapView.forceRefresh();//刷新地图视图 } });
统一专题图实现效果如下图所示: